00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef _DEMASTERSERVER_HPP
00029 #define _DEMASTERSERVER_HPP
00030
00031 #ifndef _DENET_HPP
00032 #include "deNet.hpp"
00033 #endif
00034
00035 #ifndef _DESERVER_HPP
00036 #include "deServer.hpp"
00037 #endif
00038
00039 typedef class DENET_API deMasterServer : public deServer
00040 {
00041 public:
00042
00043 deMasterServer(void);
00044 virtual ~deMasterServer(void);
00045
00046 eNetError CreateServer( void );
00047 int GetNumSlaves(void);
00048
00049 virtual eNetError SendToAll( WORD pMsgID, void * pData, DWORD pDataSize, DWORD dwFlags );
00050 virtual eNetError OnTick( void );
00051
00052 virtual deConnection * GetConnectionByUser( hNetUser pUser );
00053
00054 private:
00055
00056 eNetError AttachSlave( deConnection * pConn );
00057
00058 protected:
00059
00060
00061
00062
00063 virtual eNetError OnInit( int pType, DWORD dwFlags = NULL );
00064 virtual eNetError OnDestroy( DWORD dwFlags = NULL );
00065 virtual eNetError OnConnectionLost( deConnectionLost * pLost );
00066
00067 deConnection ** m_aSlaves;
00068 DWORD m_iNumSlaves;
00069
00070 } deMasterServer, *pdeMasterServer;
00071
00072 #endif